package com.xinqi.modules.sys.complaint.dto.req;

import com.xinqi.common.core.enums.ComplaintConfigDisableFeatureEnum;
import com.xinqi.common.green.annotation.Text;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;

/**
 * 用户投诉规则-请求对象-修改
 *
 * @author: yyzhenn
 * @date: 2023/04/23
 */
@Data
@Schema(description = "用户投诉规则-请求对象-修改")
public class ComplaintConfigUpdateDTO implements Serializable {
    /**
     * 主键
     */
    @NotNull(message = "{complaint.config.id.not.blank}")
    @Schema(description = "主键", example = "")
    private Long id;
    /**
     * 规则名称
     */
    @Text
    @Schema(description = "规则名称", example = "")
    @Size(min = 0, max = 15, message = "{complaint.config.name.length.valid}")
    private String name;
    /**
     * 禁用功能，chat-聊天功能
     */
    @Schema(description = "禁用功能，chat-聊天功能", example = "")
    @NotNull(message = "{complaint.config.disableFeature.not.blank}")
    private ComplaintConfigDisableFeatureEnum disableFeature;
    /**
     * 禁用时长，单位-天
     */
    @Schema(description = "禁用时长，单位-天", example = "")
    private Integer disableDuration;
    /**
     * 备注
     */
    @Text
    @Schema(description = "备注", example = "")
    @Size(min = 0, max = 50, message = "{complaint.config.remark.length.valid}")
    private String remark;
}
